package com.jl.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jl.commons.result.PageDataInfo;
import com.jl.commons.shiro.ShiroUser;
import com.jl.model.DevicePart;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 设备的部位列表信息 服务类
 * </p>
 *
 * @author JiangJian
 * @since 2019-03-19
 */
public interface IDevicePartService extends IService<DevicePart> {

    /**
     * 分页查询设备部位
     * @param pageDataInfo 分页配置信息
     * @param qw 筛选条件
     * @return
     */
    void selectDevicePartDataGrid(PageDataInfo<Map<String,Object>> pageDataInfo, QueryWrapper<DevicePart> qw);


    /**
     * 分页通过id集合查询设备部位
     * @param pageDataInfo 分页配置信息
     * @param ids id集合
     * @return
     */
    void selectDevicePartDataGridByIds(PageDataInfo<Map<String,Object>> pageDataInfo, List<Long> ids);

    /**
     * 查找设备部位的名称是否被使用
     * @param name
     * @return
     */
    boolean isDevicePartUsed(String name);

    /**
     * 查找设备名称是否使用，用于编辑时判断
     * @param name 名称
     * @param partId id信息
     * @return
     */
    boolean  isDevicePartCanUse(String name,Long partId);



    /**
     *统计故障次数最多的部位
     */
    void selectTopFaultCountDevicePart( PageDataInfo<Map<String,Object>> pageDataInfo,Integer top ,String startTime, String endTime);

    /**
     *统计更换零件最多的部位
     */
    void selectTopChangeComponentDevicePart( PageDataInfo<Map<String,Object>> pageDataInfo,Integer top ,String startTime, String endTime);
}

